/**
 *    @file       classfactory.h
 *
 *    @brief      
 *    @details
 *
 *    @version    1.0
 *    @date       02/10/2014 05:38:22 PM
 *
 *    @author     Theophilus (), wangtf418@gmail.com
 */
#ifndef _SF_CLASSFACTORY_H_
#define _SF_CLASSFACTORY_H_
#include "srvdef.h"
#include "argument.h"
#include "workthread.h"
#include "sockettask.h"
#include "basecommand.h"

class classfactory
{
public:
	classfactory();
	virtual ~classfactory();

public:
	virtual workthread * gen_workthread(bf_uint32_t type, bf_uint32_t size, bf_uint32_t index, const comargs *args);
	virtual sockettask * gen_sockettask(bf_uint32_t type, csocket *sock, netprocessthread *netthread, const comargs *args = NULL);
	virtual command * gen_command(bf_char_t *buf, bf_size_t buflen);
	virtual command * gen_maintain_command(bf_char_t *buf, bf_size_t buflen);
};

#endif

